By way of background, in today's world, mobile equipment, such as laptop computers, cellular phones, personal handheld computers (also known as PDAs) and the likes, are used by everybody to conduct personal and work related business. The employees of a company are able to access the full resources of their employer while traveling or working from home. Cellular phones are enabling everybody to stay in touch with work and friends and family while in move. This capability has become increasingly important in today's personal and business life. Different networks are used by each of the above mentioned mobile equipment to connect to its destination. For example, cellular phone users use the network of their cellular service providers, also know as the home network, or the network of other cellular providers, also known as the foreign network while out of their home network. An employee of a company connects to the resources of the company and other company employees using the Intranet of the company (i.e., home network) or other networks (i.e., foreign networks) while outside of the coverage of the company Intranet.
Referring to FIG. 1, a conceptual representation of a typical network 10 is shown. Network 10 includes home agent 12 and nodes 14-18. It should be noted that network 10 could have additional components that are not shown in FIG. 1 for simplicity. Also, although one home agent 12 and three nodes 14-18 are shown in FIG. 1, network 10 could have more than one home agent. In network 10, nodes 14-18 communicate with each other and home agent 12 through network connection 20. Network connection 20 includes wired and wireless networks, Ethernet-type networks, intranets, extranets, the Internet, and/or telephony networks, among other types of networks. In addition to communicating with each other, each of nodes 14-18 could also communicate with nodes in other networks that are connected to network 10. Each of nodes 14-18 could be permanently attached to network 10 or could be a mobile node. A mobile node can communicate with other nodes within network 10 or outside of it while operating in network 10 or while operating in another network as a guest node. When nodes 14-18 are operating in network 10, they are operating within their home network. When they are operating in networks other than network 10, they are operating in a foreign network. In FIG. 1, node 14 is designated as the mobile node. Although node 14 is designated as the mobile node in network, nodes 16 and 18 could also be mobile nodes.
When mobile node 14 is operating in network 10, it obtains an Internet Protocol (IP) address (hereinafter referred to as the “home address”). There are different mechanisms by which mobile node 14 obtains a home address. These mechanisms are known to those knowledgeable in the art and, thus, will not be discussed any further herein. The home address is used by home agent 12, nodes 16 and 18, and nodes and home agents (not shown) belonging to networks other than network 10 to communicate with node 14. Also, mobile node 14 uses its home address to communicate with home agent 12, nodes 16 and 18, and nodes and home agents (not shown) belonging to networks other than network 10.
Each time that the mobile node 14 leaves its home network 10 and enters a foreign network, the mobile node 14 obtains a new IP address, which is also referred to as the care-of-address. While mobile node 14 operates within the foreign network, the mobile node 14 communicates with the corresponding nodes. The corresponding nodes include home agents and correspondent nodes. The correspondent nodes are those nodes other than the home agent that either establishes one or more communication sessions with mobile node 14 or that mobile node 14 establishes one or more communication sessions with them. The correspondent nodes communicate with the mobile node in one of at least two ways. First, the correspondent nodes may send messages to the mobile node 14 using the home address. The home agent 12 would then tunnel the message to the mobile node 14. In order, for the home agent 12 to be able to route the message to the mobile node 14, it needs to know the care-of-address of the mobile node 14. That is why the home agent 12 is informed of the care-of-address by the mobile node 14. An alternative way that the correspondent nodes may communicate with the mobile node 14 is direct communication with the mobile node 14 using its care-of-address. Thus, the care-of-address is communicated to the home agents and all the correspondent nodes that have an on-going communication session with mobile node 14 or that intend to establish one or more direct communication sessions with mobile node 14.
To communicate the care-of address, the mobile node 14 sends a binding Update packet (“BU”) to the corresponding nodes. As mentioned above a corresponding node could include a home agent or a correspondent node. A BU packet includes at least the source address, which is the care-of address of the mobile node 14, a destination address, which is the address of the corresponding nodes, and a BU message. Typically, a BU message includes the information required by the BU message protocol. The corresponding nodes receiving the BU packet decipher the care-of address information from the BU packet, decipher the additional information from the BU message, and update their records to ensure that the correct IP address is recorded and associated with the mobile node 14. Thereafter, the correspondent nodes may communicate with the mobile node 14 either directly using the care-of address or through the home agent 12. The mobile node 14 first sends a BU packet to the home agents 12 to inform the home agent 12 of its care-of address while in the foreign network. This step is also known as home registration process. Upon receiving a binding acknowledgement from the home agent 12 that it has successfully processed the care-of address information, the mobile node 14 completes return routability procedure, based on the mobility support in IPV6 standard, with each of its correspondent nodes that have one or more communication sessions with mobile node 14 prior to the mobile node entering the foreign network, and sends BU packet to all these nodes.
Once the correspondent nodes receive the BU packets, they update their records and, thereafter, use the care-of address if they wish to establish direct communicate with the mobile node 14. If the mobile node 14 intends to establish a communication session with a new correspondent node, it may send, depending on the application being executed by the mobile node, a BU packet to the new correspondent node and provide the new correspondent node with its care-of address. This would enable the new correspondent node to communicate with the mobile node 14 directly. On the other hand, if a new correspondent node intends to establish a communication session with mobile node 14 and does not have the new care-of address for the mobile node 14, it sends a message to mobile node 14 using its home address. Upon receiving this message, the home agent 12 tunnels the message to the mobile node 14 using its care-of address. Once the mobile node receives this request from the new correspondent node, it may respond to the correspondent node by sending it a new BU packet to provide its care-of address for direct communication or by sending a message to the home agent 12 to be tunneled back to the correspondent node. The process of mobile node 14 sending a message back to the home agent 12 to be tunneled back to the correspondent node is also known as “reverse tunnel” process. Thereafter, a direct communication between the new correspondent node and mobile node 14 may happen if the correspondent node wishes to use the care-of address of the mobile node 14. If the mobile node 14 moves to a new foreign network, the above steps are repeated so that the ability to correspond between mobile node 14 and the corresponding nodes is preserved.
The problem arises when the mobile node is shut down abruptly. This could occur because of a loss of power to the mobile node 14, crash caused by the operating system, crash caused by a failure of an application, or other events causing an abrupt shut down. Typically the abrupt shut down causes the mobile node to lose all the on-going communication sessions that it had with the corresponding nodes and all data regarding these nodes. If the mobile node recovers after the abrupt shut down while in the same foreign network, the care-of address can still be used by the corresponding nodes to reestablish connection with mobile node 14. On the other hand, if the mobile node 14 recovers after the abrupt shut down in its home network or in new foreign network, to reestablish direct communication with the mobile node 14, the corresponding nodes use the care-of address since this is the last valid address that the corresponding nodes have for the mobile node 14. However, since mobile node 14 is now either in its home network or a new foreign network, the care-of address is no longer valid. Thus, any message sent to mobile node 14 using the care-of address will not reach mobile node 14. This will continue until the length of the time (mentioned above) specified in the binding update message expires. This could render the mobile node inaccessible to the corresponding nodes for an unacceptable amount of time.
From the above, it is clear that a solution is needed to ensure continuous connectivity between a mobile node and all the corresponding nodes after a mobile node recovers from an abrupt shut down.